/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package edu.cast.teseg.archivos;
import edu.cast.teseg.controladores.Controlador;
import edu.cast.teseg.controladores.InterfaceControlador;
import edu.cast.teseg.gui.GuiPrincipal;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import javax.swing.JFileChooser;

/**
 *
 * @author edgarin
 */
public class GuardarArchivo implements InterfaceControlador{
    private Controlador controlGL;
    private GuiPrincipal frameGL;

    public GuardarArchivo() {}
    
    
    //** metodo que guarda el grafo al archivo de texto ***//
    public void salvarArchivoGrafo(String ejemplos){        
        
        JFileChooser chooser = new JFileChooser();
        int retorno = chooser.showSaveDialog(this.frameGL);
        if(retorno == JFileChooser.APPROVE_OPTION){
            File seleccion = chooser.getSelectedFile();         
            try {            
                FileWriter fr = new FileWriter(seleccion);
                BufferedWriter bf = new BufferedWriter(fr);
                String[] split = ejemplos.split("l");
                for (int i = 0; i < split.length-1; i++) {                
                    bf.write(ejemplos.split("l")[i]);
                    bf.newLine();
                    }    
                bf.write(split[split.length-1]);
                bf.flush();
                bf.close();
                fr.close();
                } catch (IOException ex) {
                    this.controlGL.setMensajeErrores("Error al escribir Archivo");
                    }        
            }
        }

    //*** metodo para instancionar el controlador ***//
    @Override
    public void setControlador(Controlador x){ this.controlGL = x; }

    @Override
    public void setGuiPrincipal(GuiPrincipal y) { this.frameGL = y;}
}
